const BaseCheck = require("../base/baseCheck")

class Check extends BaseCheck {

	constructor() {
		super()
	}

	/**
	 * 获取所有数据
	 * @param ctx 环境山下文
	 */
	static all (ctx) {
		this.checkPaging(ctx)
    ctx.yb_validate.isString('type')
    ctx.yb_validate.isIn('searchType', ['0', '1', '2', '3'], '0')
    ctx.yb_validate.default('searchKey', '')
	}

	/**
	 * 获取详情
	 * @param ctx 环境山下文
	 */
	static detail (ctx) {
		this.checkId(ctx, 'id')
	}

	/**
	 * 获取类型列表
	 * @param ctx 环境山下文
	 */
  static typeDistinct (ctx) {
  }

	/**
	 * 添加
	 * @param ctx 环境上下文
	 */
	static add (ctx) {
		ctx.yb_validate.isStrings(['name', 'cover', 'content', 'describe', 'url'])
		ctx.yb_validate.stringLength('type', 1, 5)
		ctx.yb_validate.default('date', new Date())
	}

	/**
	 * 修改
	 * @param ctx 环境上下文
	 */
	static update (ctx) {
		this.add(ctx)
		this.checkId(ctx, 'id')
	}

	/**
	 * 删除
	 * @param ctx 环境上下文
	 */
	static remove (ctx) {
		this.checkId(ctx, 'id')
	}
}

module.exports = Check
